solving composite functions